def get_add_func[T]() {
    def add(var x : T, var y : T) {
        return x + y;
    }

    return add;
}

var f = get_add_func[Int]();
print(f(1, 2));

var g = get_add_func[String]();
print(g("hello", " world"));

